Continuous circle gesture detection for a sensor system

ABSTRACT

A method for detecting a continuous circle gesture, has the following steps: receiving vectors representative of an object movement by a object detection unit; determining from the received sequence velocity vectors a sequence of velocity vectors or an approximation thereof; estimating an angle between subsequent velocity vectors; and determining a rotation direction.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No. 14/503,883filed on Oct. 1, 2014, which claims the benefit of U.S. ProvisionalApplication No. 61/886,904 filed on Oct. 4, 2013, which are incorporatedherein in its entirety.

TECHNICAL FIELD

The present disclosure relates to a method and device for a humaninterface, in particular a continuous circle gesture detection methodfor a sensor system.

BACKGROUND

Known systems for multi-level control, e.g. volume control orscreen/light brightness control in consumer electronics products, usecircular touch-pads or capacitive linear sliders (frequently mountedabove the keyboard in notebooks), or they are using the touchinformation from a generic notebook touchpad when the finger is movingin a dedicated slider area, for example on the right border of thetouchpad.

These sensors provide absolute position information about the fingertip, and hence the finger tip's angle on the circular touchpad or theposition on the slider—information that can be mapped directly ordifferentially to a control level in a straight forward way.

In particular for a circular touch-pad it is important that thefingertip position and the touchpad's geometric center build an anglewith a reference position, e.g. on the pad's rim, and this angle can beevaluated.

When it comes to the recognition of circle gestures without fixreference position, determining an angle in the circle movement is nolonger straight forward. This is the case, for example, for a genericnon-circular touchpad, with 2D/3D free-air gestures using near-fieldcapacitive sensor systems, or with mid/far field sensor systems likevideo or infrared camera systems.

It has to be considered that a circle movement can be either clockwiseor counter-clockwise, and it will not be limited to have a fix start orstop position. At each time during the circle movement, for real-timeapplication one can only evaluate data acquired up to the presence, i.e.only partial gesture patterns. Without knowing the drawn circle'scenter, in the beginning of the movement the detection unit cannot tellthe direction of the circle: For example, a left-to-right movementappears in the top of a clockwise circle but also in the bottom of acounter-clockwise circle.

SUMMARY

According to an embodiment, a method for detecting a continuous circlegesture may comprise the steps of: receiving a sequence of vectorsrepresentative of an object movement by a object detection unit;determining from the received sequence of vectors a sequence of velocityvectors or an approximation thereof; estimating an angle betweensubsequent velocity vectors; and determining a rotation direction.

According to a further embodiment, the received sequence of vectors canbe (x_(n), y_(n)) position vectors of an object movement. According to afurther embodiment, velocity vectors can be computed as the differenceof subsequent position vectors. According to a further embodiment, thereceived sequence of vectors may comprise measurement values m_(k)^((i)) of electrodes i at times k. According to a further embodiment,four measurement electrodes can be provided and the velocity vectorsv_(k) are determined by

$v_{k} \approx {\begin{bmatrix}{\left( {m_{k}^{(4)} - m_{k - 1}^{(4)}} \right) - \left( {m_{k}^{(2)} - m_{k - 1}^{(2)}} \right)} \\{\left( {m_{k}^{(3)} - m_{k - 1}^{(3)}} \right) - \left( {m_{k}^{(1)} - m_{k - 1}^{(1)}} \right)}\end{bmatrix}.}$

According to a further embodiment, the angle between two subsequentvelocity vectors

$v_{new} = {{\begin{bmatrix}v_{{new},x} \\v_{{new},y}\end{bmatrix}\mspace{14mu}{and}\mspace{14mu} v_{old}} = \begin{bmatrix}v_{{old},x} \\v_{{old},y}\end{bmatrix}}$can be determined by φ=arc cos(v _(new) ^(T)·v _(old))·S, where S∈{±1}is the rotating direction, T indicates the vector transpose, the barindicates normalization of a vector, i.e.

${\overset{\_}{v} = {\begin{bmatrix}{\overset{\_}{v}}_{x} \\{\overset{\_}{v}}_{y}\end{bmatrix}:={\frac{v}{v} = {\begin{bmatrix}v_{x} \\v_{y}\end{bmatrix} \cdot \frac{1}{\sqrt{v_{x}^{2} + v_{y}^{2}}}}}}},$and ∥⋅∥ denotes the vector length. According to a further embodiment,S:=sign(v _(new,x) v _(old,y)−v _(new,y) v _(old,x)). According to afurther embodiment, the angle between two subsequent velocity vectorsv_(new) and v_(old) can be approximately determined by φ≈∥v _(new)−v_(old)∥·S, where S∈{±1} is the rotating direction. According to afurther embodiment, the angle φ between two subsequent velocity vectorsv_(new) and v_(old) can be approximately determined by φ≈sin φ=v_(new,x) v _(old,y)−v _(new,y) v _(old,x). According to a furtherembodiment, velocity vectors are consecutive such that v_(new)=v_(k) andv_(old)=v_(k-1). According to a further embodiment, each velocity vectorv_(new) and v_(old) in a sequence of two vectors can be normalized bythe same value ∥v_(new)∥ or ∥v_(old)∥. According to a furtherembodiment, a circle counter can be realized by integrating the anglesbetween pairs of subsequent velocity vectors. According to a furtherembodiment, the circle counter can be updated only if ∥v_(k)∥ exceeds apredetermined threshold. According to a further embodiment, the positionvectors and/or the velocity vectors and/or the circle counters can below-pass filtered. According to a further embodiment, the sensor systemcan be a 2-dimensional touch positioning system, a near-field sensorsystems, or a mid/far field sensor systems. According to a furtherembodiment, the near-field sensor system can be a capacitivenon-touching sensor system based on a quasi-static electric fieldmeasurements. According to a further embodiment, the near-fieldcapacitive sensor system may comprise one or more transmissionelectrodes excited with a rectangular pulse train signal and a pluralityof receiving electrodes capacitively coupled with the one or moretransmission electrodes.

According to another embodiment, a human device interface may comprisean interface generating a sequence of vectors representative of anobject movement tracked by a gesture detection system; a processing unitconfigured to determine from the received vectors a sequence of velocityvectors or an approximation thereof, to estimate an angle betweensubsequent velocity vectors; and to determine a rotation direction;wherein the processing unit further implements a circle counter andupdates values of the circle counter by adding the estimated angle withits sign depending on the rotating direction.

According to a further embodiment of the human device interface, thesequence of vectors can be (x_(n), y_(n)) position vectors of an objectmovement. According to a further embodiment of the human deviceinterface, velocity vectors can be computed as the difference ofsubsequent position vectors. According to a further embodiment of thehuman device interface, the received sequence of vectors may comprisemeasurement values m_(k) ^((i)) of electrodes i at times k. According toa further embodiment of the human device interface, four measurementelectrodes can be provided and the velocity vectors v_(k) are determinedby

$v_{k} \approx {\begin{bmatrix}{\left( {m_{k}^{(4)} - m_{k - 1}^{(4)}} \right) - \left( {m_{k}^{(2)} - m_{k - 1}^{(2)}} \right)} \\{\left( {m_{k}^{(3)} - m_{k - 1}^{(3)}} \right) - \left( {m_{k}^{(1)} - m_{k - 1}^{(1)}} \right)}\end{bmatrix}.}$

According to a further embodiment of the human device interface, theangle between two subsequent velocity vectors

$v_{new} = {{\begin{bmatrix}v_{{new},x} \\v_{{new},y}\end{bmatrix}\mspace{14mu}{and}\mspace{14mu} v_{old}} = \begin{bmatrix}v_{{old},x} \\v_{{old},y}\end{bmatrix}}$can be determined by φ=arc cos(v _(new) ^(T)·v _(old))·S, where S∈{±1}is the rotating direction, T indicates the vector transpose, and the barindicates normalization of a vector. According to a further embodimentof the human device interface the angle φ between two subsequentvelocity vectors v_(new) and v_(old) can be approximately determined byφ≈∥v _(new)−v _(old)∥·S, where S∈{±1} is the rotating direction.According to a further embodiment of the human device interface,S:=sign(v _(new,x) v _(old,y)−v _(new,y) v _(old,x)). According to afurther embodiment of the human device interface, the angle between twosubsequent velocity vectors v_(new) and v_(old) can be approximatelydetermined by ≈sin φ=v _(new,x) v _(old,y)−v _(new,y) v _(old,x).According to a further embodiment of the human device interface,velocity vectors are consecutive such that v_(new)=v_(k) andv_(old)=v_(k-1). According to a further embodiment of the human deviceinterface, each velocity vectors v_(new) and v_(old) in a sequence oftwo vectors can be normalized by the same value ∥v_(new)∥ or ∥v_(old)∥.According to a further embodiment of the human device interface, acircle counter can be realized by integrating the angles between pairsof subsequent velocity vectors. According to a further embodiment of thehuman device interface, the circle counter can be updated only if∥v_(k)∥ exceeds a predetermined threshold. According to a furtherembodiment of the human device interface, the human device interface mayfurther comprise a first low-pass filter configured to filter theposition vectors and/or a second low-pass filter configured to filterthe velocity vectors and/or a third low-pass filter configured to filterthe circle counter. According to a further embodiment of the humandevice interface, the interface may comprise 2-dimensional touchpositioning system, a near-field sensor systems, or a mid/far fieldsensor systems. According to a further embodiment of the human deviceinterface, the near-field sensor system can be a capacitive non-touchingsensor system based on a quasi-static electric field measurements.According to a further embodiment of the human device interface, thenear-field capacitive sensor system may comprise one or moretransmission electrodes excited with a rectangular pulse train signaland a plurality of receiving electrodes capacitively coupled with theone or more transmission electrodes.

According to yet another embodiment, an electronic device may comprise ahuman device interface as described above, wherein the circle counter isused for volume control, a dimmer, speed control, air conditiontemperature, or mechanical movement functions.

According to a further embodiment of the electronic device, the circlecounter drives an LED bar.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows position vectors and velocity vectors of a 2D circlegesture sampled at discrete time instances n=k, k−1, k−2, . . . .

FIG. 2 shows a unit circle with normalized velocity vectors starting inthe coordinate system's origin.

FIG. 3 shows a 2D detection system such as a track pad or touch screen.

FIG. 4 shows an exemplary 3D gesture detection system.

FIG. 5 shows a specific standard gesture detection electrode layout withfour frame receiving electrodes using a quasi-static electric fielddetection method.

FIG. 6 shows a finger position moving clockwise or counter-clockwise ona circular path within a detection space defined by four electrodes310-340 of the embodiment of FIG. 5.

FIG. 7 shows a visualization approach for the output value of theAirWheel algorithm.

DETAILED DESCRIPTION

According to various embodiments, a circle gesture (or pattern) which isobserved is to be identified. Hence, according to some embodiments, fromtwo subsequent velocity vectors the rotating direction and the anglebetween these vectors are determined in order to update the circlecounter. In the following, this gesture will also be referred to asAirWheel gesture. The term “subsequent” is used throughout thespecification and hereby defined to designate elements or events thatare spaced apart in time. They do not have to be consecutive with noother element or event in between. Hence, the term “consecutive” is usedthroughout the specification and hereby defined to designate elements orevents that are adjacent with respect to time.

For the general approach in this part it will be assumed that a sequenceof (x_(n), y_(n)) position vectors corresponding to or being estimatesof a target point is provided, e.g. a fingertip, performing a circulargesture in a two dimensional (2D) plane at subsequent discrete timeinstances n. The time instances do not need to be consecutive but shouldbe subsequent in time so that one vector is newer than the other. Forexample, subsequent vectors v_(new) and v_(old) can be used, the boldletters indicating that a variable is a vector. FIG. 3 shows anexemplary two dimensional system 100 comprising, for example, a trackpad/touch screen 120 coupled with a 2D interface 110 connected with aprocessing system 130. The difference between two position vectors is avelocity vector, e.g. for two subsequent position vectors we obtain

$v_{new}:={{p_{new} - p_{old}} = \begin{bmatrix}{x_{new} - x_{old}} \\{y_{new} - y_{old}}\end{bmatrix}}$which contains direction and magnitude of the movement between time‘old’ and time ‘new’. In the following consecutive vectors will beassumed such that old=k−1 and new=k. However, as mentioned above thismay not be a requirement. It does not necessarily have to be the latestvelocity vector and the one directly before it. Primarily it isimportant that one contains more recent data than the other. Further,these velocity vectors may already have experienced some kind ofpre-processing, like low-pass filtering.

Considering two such velocity vectors, e.g. v_(k) and v_(k-1), as shownin FIG. 1, an angle φ can be defined between them. If the rotatingdirection is turning right (as with a clockwise circle gesture) thenφ>0. If the rotating direction is turning left (as with acounter-clockwise circle gesture) then φ<0. The circle counter can berealized by integrating the angles φ between pairs of consecutivevelocity vectors.

The question is how to obtain the angle φ or a similar measure, wherethe interesting value range of φ is to be assumed as:

$\varphi \in {\left( {{- \frac{\pi}{2}},\frac{\pi}{2}} \right).}$For this, v_(k) and v_(k-1) are normalized to unit vectors

${\overset{\_}{v}}_{k}:=\frac{v_{k}}{v_{k}}$as shown in FIG. 2, where ∥⋅∥ denotes the length of a vector. With cosφ=v _(k-1) ^(T) v _(k), the exact solution is given by φ=arc cos ∥v_(k-1) ^(T) v _(k)∥·S, where S∈{±1} is the rotating direction and willbe determined below, and T indicates the vector transpose.

However, the computationally complex arcus cosine function can beavoided by approximating the angle φ (which is of same value as its arcon a unit circle) by the length of v _(k)−v _(k-1) (chord), i.e. φ≈∥v_(k)−v _(k-1)∥·S, where S∈{±1} is the rotating direction and will bedetermined below, or by its sine, i.e. φ≈sin φ. For 3-dimensionalvectors a and b with x, y and z components a_(x), a_(y), a_(z) andb_(x), b_(y), b_(z), respectively, it holds

${{{\sin\;\varphi}} = \frac{{a \times b}}{{a}{b}}},$where × denotes the cross product (vector product) which is defined as

${a \times b}:={{\begin{pmatrix}a_{x} \\a_{y} \\a_{z}\end{pmatrix} \times \begin{pmatrix}b_{x} \\b_{y} \\b_{z}\end{pmatrix}} = {\begin{pmatrix}{{a_{y}b_{z}} - {a_{z}b_{y}}} \\{{a_{z}b_{x}} - {a_{x}b_{z}}} \\{{a_{x}b_{y}} - {a_{y}b_{x}}}\end{pmatrix}.}}$For 2D vectors, the vector product

is not defined as such. However, if the 2D (x/y) plane is extended by athird dimension, the z-dimension, and an arbitrary constant z value,preferably z=0, is assigned to the velocity vectors, then the vectorproduct can be applied to the resulting 3D velocity vectors, whose zcomponent is the value of interest. With v _(k-1,z)=v _(k,z)=0 we obtainand hence

${{\overset{\_}{v}}_{k} \times {\overset{\_}{v}}_{k - 1}} = \begin{pmatrix}0 \\0 \\{{{\overset{\_}{v}}_{k,x}{\overset{\_}{v}}_{{k - 1},y}} - {{\overset{\_}{v}}_{k,y}{\overset{\_}{v}}_{{k - 1},x}}}\end{pmatrix}$φ≈ sin φ=∥ v _(k) ×v _(k-1) ∥·S=|v _(k,x) v _(k-1,y) −v _(k,y) v_(k-1,x) |·S,

where |·| denotes a scalar's absolute value.

The sign of the vector product's z-component is the rotating directionand henceS:=sign( v _(k,x) v _(k-1,y) −v _(k,y) v _(k-1,x))and finallyφ≈ sin φ= v _(k,x) v _(k-1,y) −v _(k,y) v _(k-1,x).

In the following, further possible improvements will be discussed whichcan be implemented in various embodiments. Hence, the various possibleimprovements can be used separately or combined.

Normalization

In practice, for complexity reduction by avoiding computation of squareroots, both vectors v_(k) and v_(k-1) may be normalized by the samevalue ∥v_(k)∥ or ∥v_(k-1)∥, typically without realizable effect(provided the sample frequency is sufficiently high), i.e.

${{{{{\overset{\_}{v}}_{k} \times {\overset{\_}{v}}_{k - 1}}} \approx \frac{{v_{k} \times v_{k - 1}}}{{v_{p}}^{2}}} = \frac{{{v_{k,x}v_{{k - 1},y}} - {v_{k,y}v_{{k - 1},x}}}}{{v_{p}}^{2}}},$where p∈{k, k−1}.

Jitter Suppression

For jitter suppression, the circle counter may, for example, be updatedonly when a minimum amount of movement is detected, e.g. when ∥v_(k)∥exceeds a threshold. This yields a differential update of the circlecounter with slip.

Smoothness

The smoothness of the circle counter can be improved by applyinglow-pass filtering to the position vectors and/or the velocity vectorsand/or the output counter.

Input Data

Depending on the underlying sensor system, the x/y position estimate maybe subject to numerous processing stages, and it may depend on numerousconfiguration parameters, each processing stage adding risk of errorsand computational complexity. However, all the proposed algorithmactually requires as input data is a two dimensional vector, where (atleast approximately) the value in its first dimensionincreases/decreases when the target point moves in a first geometricdimension, and the 2^(nd) dimension increases/decreases when the targetpoint moves in a 2^(nd) geometric dimension.

A typical three dimensional (3D) gesture detection system 200 is shownin FIG. 4. A ground plane 210 of a detection space is shown which mayalso include a sensor arrangement coupled with a respective 3D detectioninterface 220 which is again connected to a processing system 130.Instead of the sensor arrangement used in system 200 there can be alsooptical detection means placed at respective suitable location in anoptical 3D system. Other 3D detection systems may be used to generatethe tracking points that will be fed to the various embodiments.

According to one embodiment of a touch-free gesture system, such as athree-dimensional gesture detection system that uses a quasi-staticalternating electric field, a 4-frame electrode layout as depicted inFIG. 5 is provided. Here four receiving electrodes 310, 320, 330, and340 are arranged in the same plane and define a rectangular area. Otherelectrode arrangements with more or less receiving electrodes and/orother geometrical arrangements may be used according to otherembodiments. Reference numeral 305 designates an underlying transmissionelectrode which may be supplied with, e.g., a 30-200 kHz square-wavesignal. However, according to other embodiments, the transmission layer305 may be arranged in the same plane as the receiving electrodes310-340 and may be of different shape, or multiple Tx electrodes may beused. The transmission electrode generates a quasi-static electric fieldthat extends upwards to define a detection space that may extend to10-15 cm above the electrode plane. A ground shield (not shown) may beused to suppress extension of the field towards unwanted areas. Thecapacitive coupling between the transmission electrode and the receivingelectrodes as well as the system ground will be disturbed by anelectrically conductive object entering the detection space. From thedisturbance measured at the receive electrodes, the direction ofmovement and/or the position of the object can be estimated. E.g. frommeasurements of at least 3 such receive electrodes, a 3-dimensionalposition can be estimated, whose derivative with respect to time is avelocity vector. For example an integrated circuit 350 may be used suchas MGC 3130 manufactured by Applicant. A data sheet “MGC 3130Single-Zone 3D Tracking and Gesture Controller Data Sheet”, issued Nov.19, 2013 is available from Applicant and hereby incorporated byreference. A receiving processing device 360 or an interface chip may becoupled with integrated circuit 350.

Other three-dimensional detection systems can be used to provide samplepoints and the present embodiments are not limited to the specificembodiment discussed above. However, the method discussed herein may beparticularly beneficial in such a three-dimensional non-touch gesturedetection system.

With a four frame electrode design 300 as discussed above, a coarse, yetfunctional approximation for the velocity vectors v_(k) when the objectis moving within the area spanned by 310 to 340 is given as shown belowin Equation (2):

$\begin{matrix}{v_{k} \approx \begin{bmatrix}{\left( {m_{k}^{(4)} - m_{k - 1}^{(4)}} \right) - \left( {m_{k}^{(2)} - m_{k - 1}^{(2)}} \right)} \\{\left( {m_{k}^{(3)} - m_{k - 1}^{(3)}} \right) - \left( {m_{k}^{(1)} - m_{k - 1}^{(1)}} \right)}\end{bmatrix}} & (2)\end{matrix}$

where m_(k) ^((i)), i=1,2,3,4 is the system measurement value ofelectrode i at time k, which increases with decreasingfinger-to-electrode distance, where electrodes 1,2,3,4 correspond to320, 330, 340, 310 in FIG. 5, respectively. This approximation is alsofunctional when for one or more electrodes i the correspondingmeasurement value monotonously decreases with decreasingfinger-to-electrode distance. Then the signs of m_(k-1) ^((i)) and m_(k)^((i)) need to be inverted for theses electrodes i.

FIG. 6 shows a shows a finger position moving clockwise orcounter-clockwise on a circular path within a detection space defined byfour electrodes 310-340 of the embodiment of FIG. 5. In such a system,generally the transmission electrode is used to generate the electricfield, for example using a 30-200 kHz rectangular pulse train signal,e.g., generated by a microcontroller port, and a plurality of receivingelectrodes from whose measurements signals a disturbance in the fieldcan be detected when an object enters the quasi-static electric field.Gesture detection samples where the data from all electrodes has thesame sign, i.e. the finger is approaching/leaving all electrodes, may beignored for updating the circle counter. However, as mentioned above,the method may apply also to various other two- or three dimensionalgesture detection systems.

Start/Stop Condition

Given a Hidden Markov Model (HMM) based automatic gesture recognitionengine running in parallel with the AirWheel, one possible startcondition for starting/outputting the circle counter is to share thestart detection functionality of the HMM based gesture recognitionsystem and to trigger the circle counting when a dedicated HMM becomesthe most likely one. For example, HMMs for clockwise and/orcounter-clockwise gesture events are suitable for being such dedicatedHMMs as explained in more detail in co-pending applicationUS-2014-0050354-A1 which is hereby incorporated in its entirety byreference.

Alternatively, the circle counting can run permanently in thebackground, but the outputting of counter updates is only activated,when a certain amount of counts in one rotating direction is reachedwithin a limited amount of time, or the ratio of counts in one rotatingdirection and the opposite rotating direction within a given amount oftime exceeds or goes below thresholds.

Depending on the memory introduced by the low-pass filters in the“Smoothness” improvement, it may be useful or necessary to clear theirmemory, and possibly start tracking of the circle counter some timebefore actually outputting it.

A stop condition can for example be that the finger leaves the activespace (the space above the area spanned by the receive electrodes in a3D gesture detection system using quasi static electric fieldmeasurements) or leaves the touch pad in a 2D-system. Another stopcondition can be that the finger is resting, i.e. that the detectedfinger movement—for example quantified by the absolute values of thevelocity vectors—is below a defined threshold for a defined amount oftime.

Algorithm

An exemplary pseudo code of the proposed algorithm (withoutsimplifications/extensions) is shown below in Listing 1, where the angleφ is approximated with sin(φ) by computing the z-element of the crossproduct of the normalized velocity vectors and adding it to anaccumulator ‘circle counter’ which can be the output value.

Listing 1 // Initialization status = OFF; // AirWheel status CC = 0; //Circle Counter (accumulator) v_new=[0 0]; v_old = [0 0]; // Velocityvectors WHILE true { // Get new 2-dimensional velocity vectors v_new =fct_get_data( ); // Normalize v_new v_new = fct_normalize(v_new); //Start/Stop Detection IF <Start Condition Fulfilled> { status = ON; } IF<Stop Condition Fulfilled> { status = OFF; } // Update Circle Counter(accumulator) IF (status == ON) { CC += v_new[1]*v_old[0] −v_new[1]*v_old[0]; } // Backup latest velocity vector v_old = v_new; }

Various Applications

The circular gesture resembles a virtual Volume control wheel of a HiFiset: Clockwise movement increases the volume, counter-clockwise movementdecreases the volume.

A design proposal is given in FIG. 7 which shows a visualizationapproach for an AirWheel volume control, volume wheel and volume leveldisplay saturating at a minimum (e.g., 0) and maximum value (e.g., 63).

It shows a volume control wheel with a phase indicator, and an LEDdisplay where the height of the bar of lightened LEDs indicates thevolume. Zero lightened LEDs corresponds to mute, all LEDs lightenedcorresponds to maximum volume. Turning the volume wheel by circularfinger movement increases/decreases the volume, and when the wheel hasbeen turned by a defined amount, e.g. by π, or when the circle counterhas changed by a defined amount, respectively, one LED is lightened orturned off. While the volume wheel can theoretically be turned by aninfinite amount, the LED bar graph saturates at mute or maximum volume.

Such an AirWheel may be used in a wide variety of applications. Forexample:

Any media-player control type functionality known from circulartouchpads.

Control of a dimmer in a light switch or various other appliancefunctions such as, for example, speed control, air conditiontemperature, mechanical movement functions, etc.

Replacement for a PC mouse's scroll wheel

Types of sensor systems/measurement input devices (examples)

-   -   1. 2D Touch panels/touch displays, 2D video cameras    -   2. 3D video cameras, 3D capacitive sensor systems

Other Modes

Provided a 2D or 3D positioning system (e.g. camera based, or capacitivesensor system), it is also possible to evaluate partial patterns (e.g. apartially drawn circle) using, for example, image processing techniques.However, this would require additional algorithmic machinery (scaling,rotation, new distance measures).

What is claimed is:
 1. A method for detecting a continuous circlegesture in a 2-dimensional touch positioning system, comprisingreceiving a sequence of vectors representative of an object movement byan object detection unit, wherein the received sequence of vectorscomprises measurement values m_(k) ^((i)) of electrodes i at times k;determining from the received sequence of vectors a sequence of velocityvectors or an approximation thereof; estimating an angle φ betweensubsequent velocity vectors; and determining a rotation direction,wherein the rotation direction is determined by a sign of the estimatedangle, wherein the angle φ between two subsequent velocity vectorsv_(new) and v_(old) is approximately determined by φ≈sin φ≈v _(new,x) v_(old,y)−v _(new,y) v _(old,x).
 2. The method according to claim 1,wherein the received sequence of vectors are (x_(n),y_(n)) positionvectors of an object movement.
 3. The method according to claim 2,wherein velocity vectors are computed as the difference of subsequentposition vectors.
 4. The method according to claim 1, wherein a circlecounter is realized by integrating the angles between pairs ofsubsequent velocity vectors, or approximations of these angles.
 5. Themethod according to claim 4, wherein the circle counter is updated onlyif ∥v_(k)∥ exceeds a predetermined threshold.
 6. The method according toclaim 1, wherein velocity vectors v_(new)=v_(k) and v_(old)=v_(k-1). 7.The method according to claim 1, wherein the 2-dimensional touchpositioning system is a track pad or a touch screen.
 8. The methodaccording to claim 7, wherein the 2-dimensional touch positioning systemis a capacitive near-field sensor system.
 9. The method according toclaim 8, wherein the capacitive near-field sensor system comprises oneor more transmission electrodes excited with a rectangular pulse trainsignal and a plurality of receiving electrodes capacitively coupled withthe one or more transmission electrodes.
 10. A method for detecting acontinuous circle gesture in a 2-dimensional touch positioning system,comprising receiving a sequence of vectors representative of an objectmovement by an object detection unit wherein the received sequence ofvectors comprises measurement values m_(k) ^((i)) of electrodes i attimes k; determining from the received sequence of vectors a sequence ofvelocity vectors or an approximation thereof; estimating an anglebetween subsequent velocity vectors; and determining a rotationdirection, wherein the rotation direction is determined by a sign of theestimated angle, wherein each velocity vector v_(new) and v_(old) in asequence of two vectors is normalized by the same value ∥v_(new)∥ or∥v_(old)∥.
 11. The method according to claim 10, wherein a circlecounter is realized by integrating the angles between pairs ofsubsequent velocity vectors, or approximations of these angles.
 12. Themethod according to claim 11, wherein the circle counter is updated onlyif ∥v_(k)∥ exceeds a predetermined threshold.
 13. The method accordingto claim 1, wherein the received sequence and/or the velocity vectorsand/or the circle counters are low-pass filtered.
 14. A human deviceinterface comprising: a 2-dimensional touch positioning sensor devicegenerating a sequence of vectors representative of an object movementtracked by a gesture detection system, wherein the received sequence ofvectors comprises measurement values m_(k) ^((i)) of electrodes i attimes k; a processing unit configured to determine from the receivedvectors a sequence of velocity vectors or an approximation thereof; toestimate an angles φ between subsequent velocity vectors; and todetermine a rotation direction, wherein the rotation direction isdetermined by a sign of the estimated angle; wherein the processing unitfurther implements a circle counter and updates values of the circlecounter by adding the estimated angle with its sign depending on therotating direction, wherein the angle φ between two subsequent velocityvectors v_(new) and v_(old) is approximately determined by φ≈sin φ=v_(new,x) v _(old,y)−v _(new,y) v _(old,x).
 15. The human deviceinterface according to claim 14, wherein the received sequence ofvectors (x_(n),y_(n)) represent position vectors of an object movement.16. The human device interface according to claim 15, wherein velocityvectors are computed as the difference of subsequent position vectors.17. The human device interface according to claim 14, wherein the anglebetween two subsequent velocity vectors $v_{new} = {{\begin{bmatrix}v_{{new},x} \\v_{{new},y}\end{bmatrix}\mspace{14mu}{and}\mspace{14mu} v_{old}} = \begin{bmatrix}v_{{old},x} \\v_{{old},y}\end{bmatrix}}$ is determined by φ=arc cos(v _(new) ^(T)·v _(old))·S,where S∈{±1} is the rotating direction, T indicates the vectortranspose, and the bar indicates normalization of a vector.
 18. Thehuman device interface according to claim 14, wherein velocity v vectorsv_(new)=v_(k) and v_(old)=v_(k-1).
 19. The human device interfaceaccording to claim 14, wherein a circle counter is realized byintegrating the angles between pairs of subsequent velocity vectors, orapproximations of these angles.
 20. The human device interface accordingto claim 19, wherein the circle counter is updated only if ∥v_(k)∥exceeds a predetermined threshold.
 21. The human device interfaceaccording to claim 19, further comprising a first low-pass filterconfigured to filter the received sequence and/or a second low-passfilter configured to filter the velocity vectors and/or a third low-passfilter configured to filter the circle counter.
 22. The human deviceinterface according to claim 14, wherein the 2-dimensional touchpositioning sensor device is a track pad or a touch screen.
 23. Thehuman device interface according to claim 22, wherein the 2-dimensionaltouch positioning sensor device is a capacitive near-field sensorsystem.
 24. The human device interface according to claim 23, whereinthe capacitive near-field sensor system comprises one or moretransmission electrodes excited with a rectangular pulse train signaland a plurality of receiving electrodes capacitively coupled with theone or more transmission electrodes.
 25. An electronic device comprisinga human device interface according to claim 14, wherein the circlecounter is used for volume control, a dimmer, speed control, aircondition temperature, or mechanical movement functions.
 26. Theelectronic device according to claim 25, wherein the circle counterdrives an LED bar.
 27. A human device interface comprising: a2-dimensional touch positioning sensor device generating a sequence ofvectors representative of an object movement tracked by a gesturedetection system, wherein the received sequence of vectors comprisesmeasurement values m_(k) ^((i)) of electrodes i at times k; a processingunit configured to determine from the received vectors a sequence ofvelocity vectors or an approximation thereof; to estimate an anglebetween subsequent velocity vectors; and to determine a rotationdirection, wherein the rotation direction is determined by a sign of theestimated angle; wherein the processing unit further implements a circlecounter and updates values of the circle counter by adding the estimatedangle with its sign depending on the rotating direction, wherein eachvelocity vector v_(new) and v_(old) in a sequence of two vectors isnormalized by the same value ∥v_(new)∥ or ∥v_(old)∥.